Новости

26 марта, 2020 10:10

Сибирские ученые научились переводить старую орфографию в современную

Источник: National Geographic
Алгоритм может выполнять рутинную работу редакторов и дает исследователям дополнительные инструменты для анализа дореволюционных текстов.
Источник: Александра Федосеева / Наука в Сибири

Представьте, что вы решили оцифровать, а затем опубликовать книгу, которая была издана в дореволюционное время. Сканеры, способные работать без участия человека, сами перелистывают страницы, современное программное обеспечение преобразовывает отсканированные страницы в текст, но он будет, естественно, в исходной старой орфографии. Это неудобно для потенциальной обработки документа, ведь большинство алгоритмов автоматического анализа работают только с произведениями в современной орфографии. Для этого и нужна система автоматического приведения текста в привычный для читателя вид.

Существует несколько подходов к преобразованию текстов из одной орфографии в другую: основанный на правилах, статистический, основанный на машинном обучении, нейронный машинный перевод, а также гибридный, который может сочетать перечисленные выше методы. Так как орфография — это совокупность четких правил написания слов, на основе которых может быть создан алгоритм перевода, исследователи выбрали подход, основанный на правилах. Всё усложняется тем, что до середины XX века орфография русского языка не была официально утверждена. 

«До революции появлялись орфографические справочники, на их основании писались гимназические грамматики, но нормы не были кодифицированы. Декрет Совета народных комиссаров от 10 октября 1918 года „О введении новой орфографии“ был весьма краток, и описывал то, что требует изменения, далеко не полностью. Например, вышло так, что ижица (Ѵ) вообще не была упомянута», — рассказывает ведущий научный сотрудник ИВТ СО РАН доктор технических наук Владимир Барахнин.


   Примеры основных правил, заложенных в работу переводчика

Для разработки программы за основу был взят «Справочник по старой орфографии русского языка» Павла Давыдова, изучившего и проанализировавшего значительное количество источников и литературы, в том числе учебники, словари и справочники, изданные в старой орфографии до 1917 года. В этом справочнике изложен ряд изменений, которые можно разделить на две большие категории: правописание морфем (приставок, падежных окончаний) и употребление отдельных букв. 

Просто заменить устаревшие буквы на современные и убрать твердые знаки в конце слов недостаточно: есть случаи, в которых правописание морфем отличается от нынешнего. Именно на основе перечисленных в справочнике норм дореволюционного правописания — с учетом послереволюционных новаций и был разработан переводчик.

В старом правописании морфем можно выделить несколько групп слов. Каждая из них характеризуется используемой устаревшей морфемой и морфологическими признаками, которыми обладают лексемы из этого класса. Исследователи сопоставили устаревшее и современное написание для каждой из групп и, выявив закономерности между ними, описали правила перевода, лежащие в основе программы. Изначальная идея состояла в том, что алгоритм должен определить, принадлежит ли входное слово к одной из групп, то есть найдена ли нужная морфема в слове и обладает ли оно соответствующими морфологическими признаками. Если это так, то к лексеме применяется правило перевода для той группы, к которой она относится. В противном случае слово остается без изменений. Чтобы осуществить это, необходим алгоритм морфологического анализа, но в процессе тестирования различных морфологических анализаторов для русского языка выяснилось, что они плохо справляются со словами в дореформенной орфографии. Поэтому необходим такой алгоритм перевода, который сможет обойти ошибки, допускаемые анализатором.


   Обобщенные различия между старой и новой орфографией

Так родилась следующая идея: алгоритм предполагает, что входное слово принадлежит к той или иной группе только по одному из двух признаков — по наличию устаревшей морфемы. Если принадлежность установлена, алгоритм осуществляет перевод в соответствии с правилом для группы. Это приводит либо к успешному результату — слово переведено, либо к получению несуществующей или новой лексемы. 

Получившееся слово передается морфологическому анализатору. В первом случае морфологические признаки будут соответствовать тем, что указаны для определенной группы. Выполнение этого условия трактуется алгоритмом как успех — перевод выполнен. Во втором же случае признаки будут отличаться, если получилась новая словоформа, либо анализатор предоставит информацию о том, что разбор был сделан «эвристическим» способом (не по словарю, так как несуществующих слов в нем нет). При выполнении одного из этих условий, алгоритм возвращает прежнее написание, потому что входное слово на самом деле не принадлежит ни одной из групп. Это и есть первый этап перевода — исправление морфем. По его завершении, программа переходит к этапу замены устаревших букв. 

В качестве алгоритма морфологического анализа была выбрана библиотека pymorphy, разработанная на языке программирования Python. Она может анализировать слова и склонять их по заданным грамматическим характеристикам. Этот корпус опирается на данные словаря OpenCorpora (большой базы данных текстов на русском языке, которые уже разобраны усилиями добровольцев), а для незнакомых слов строит гипотезы.

Работу алгоритма можно рассмотреть на примере. Возьмем одну из групп: существительные III склонения в творительном падеже с окончанием -iю. Например, тростiю. Окончание -iю в этом слове должно быть заменено на -ью. Однако не только относящиеся к этой группе слова могли иметь такое окончание, например, эволюцiю. 

«В первом случае в результате применения правила перевода, мы получим верный результат — тростью. В ситуации со вторым словом получится несуществующая лексема — эволюцью. Наш алгоритм, проанализировав результат работы морфологического анализатора, увидит это и отменит примененное правило. После чего на втором этапе перевода произойдет замена устаревшей i на современную и, и мы получим верный перевод — эволюцию, — рассказывает инженер-программист ИВТ СО РАН Елизавета Тагирова. — Конечно, неизбежно останутся такие случаи, в которых эксперт должен будет решать, правильно сделан перевод или нет».


   Схема алгоритма перевода

При тестировании алгоритма исследователи обнаружили в дореволюционном учебнике физики еще один интересный случай — слово концемъ (концом в современном виде). Алгоритм видит окончание и не подозревает, что это какая-то устаревшая морфема. Он просто убирает ъ на конце, но этого недостаточно. Этот пример не попадает в какую-либо категорию написания морфем, авторы не нашли такого ни в одном справочнике. Предположительно  написание объясняется тем, что когда-то ц обозначала мягкий звук. Чем старее текст, тем больше можно найти подобных примеров, требующих вмешательства эксперта в силу того, что не все правила кодифицированы. 

Как объясняет старший научный сотрудник ИВТ СО РАН кандидат филологических наук Ольга Юрьевна Кожемякина, в печатном слове традиции и инерция намного сильнее, чем в живой речи: «Мы допускаем, что на тот момент люди уже говорили концом, а писали всё еще в соответствии с традицией печатного слова. В культуре того времени печатные издания выступали эталоном».

Если говорить о применении алгоритма, то он создан с целью заменить не эксперта, а скорее корректора, для работы с большими объемами текстов. Сегодня программа еще не способна правильно анализировать случаи, которых нет в справочниках. Дальнейшая задача — доработать ее так, чтобы такие случаи были выявлены и получили решение.

Работа выполнена при поддержке гранта РНФ (проект 19-18-00466).

14 февраля, 2024
Кости птиц на стоянках древних людей рассказали об изменении маршрутов миграций
Ученые определили, что в период неолита — 6–3 тысячи лет до нашей эры — на территории современной См...
10 января, 2024
Ученые создали онлайн-карту топонимов Карелии и соседних регионов
Карельские ученые разработали топонимический ресурс, аналогов которому нет в России. На сайте «Топ...